<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 0. Number.EPSILON是接近于JavaScript表示的最小精度
        // Number.EPSILON属性的值接近于2.2204460492503130E-16
        // 主要用于浮点数的运算
        console.log(0.1 + 0.2);//0.30000000000000004
        console.log(0.1 + 0.2 === 0.3);//false
        function equal(a,b){
            if(Math.abs(a-b)<Number.EPSILON){
                return true;
            }else{
                return false
            }
        }
        console.log(equal(0.1+0.2,0.3));//true

        // 1. 进制的表示
        let b = 0b1010;//二进制的10
        let o = 0o777;//八进制的511
        let d = 100;//十进制
        let x = 0xff//十六进制的255

        // 2. NUmber.isFinite 检测一个数值是否为有限数
        console.log(Number.isFinite(100));//true
        console.log(Number.isFinite(100/0));//false
        console.log(Number.isFinite(Infinity));//false  Infinity表示无穷
        // 3. Number.isNaN  检测一个数值是否为NaN
        console.log(Number.isNaN(123));//false
        // 4.Number.parseInt | Number.parseFloat 字符串转换为数字
        console.log(Number.parseInt('5211314love'));//5211314
        console.log(Number.parseFloat('3.1415926abcde'));//3.1415926
        // 5. Number.isInteger 判断一个数是否为整数
        console.log(Number.isInteger(5));//true
        console.log(Number.isInteger(2.5));//false
        // 6. Math.trunc 将数字的小数部分抹掉
        console.log(Math.trunc(3.5));//3
        // 7. Math.sign 判断一个数为正数 负数 还是零 分别返回1 0 -1
        console.log(Math.sign(100));//1
        console.log(Math.sign(0));//0
        console.log(Math.sign(-2000));//-1
    </script>
</body>

</html>